package online.inote.common.configuration;

import javax.sql.DataSource;

import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

/**
 * <p>
 * Desc: 多数据源配置
 * </p>
 *
 * @author XQF SUI
 * @created 2017年12月11日 下午9:13:24
 * @version 1.0
 */
@Configuration
public class MultipleDataSourceConfiguration {

	/**
	 * <p>
	 * Desc: 数据源(一)
	 * </p>
	 *
	 * @author XQF SUI
	 * @created 2017年12月11日 下午9:15:24
	 * @return
	 */
	@Bean(name = "masterDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.master") // application.yml中对应属性的前缀
    public DataSource businessDataSource() {
        return DataSourceBuilder.create().build();
    }
	
	/**
	 * <p>
	 * Desc: 数据源(二)
	 * </p>
	 *
	 * @author XQF SUI
	 * @created 2017年12月11日 下午9:15:44
	 * @return
	 */
	@Primary
	@Bean(name = "slaveDataSource")
    @ConfigurationProperties(prefix = "spring.datasource.slave")
    public DataSource godPwoerDataSource() {
        return DataSourceBuilder.create().build();
    }
}
